home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / docs / howto / createNewMachineType < prev    next >
Encoding:
Text File  |  1992-12-14  |  1.7 KB  |  37 lines

  1.  
  2. How to create a new machine type  from an existing one.
  3.  
  4.     This document covers how to create a new machine type from an existing 
  5. machine type.  Creating a new machine type allows you to create 
  6. kernels for that are personalized in some manner. This is useful for
  7. testing kernel changes without affecting sources for kernels that other
  8. people are using. This document does not discuss how to add a new machine
  9. architecture to the system.
  10.  
  11.     The first step is to chose a name for your new machine type. I suggest
  12. a unique name that is not used as the name of any files or directories 
  13. in the system. This avoids confusing "make" when you type "make <machine>".
  14. Your login is a particularly bad choice. Not only does it confuse "make",
  15. but it also confuses people. Let's assume that your new machine type is
  16. "foo", and the original machine type is "sun3".
  17.  
  18.     Edit /sprite/lib/pmake/tm.mk. Make entries for foo from the entries
  19. for sun3. Add a flag "-Dsun3" to the TMCFLAGS for foo. Don't modify the 
  20. "-m" flag entry.
  21.  
  22.     Create a foo.md directory in /sprite/lib/include or make a symbolic
  23. link to sun3.md. If you create a directory then make symbolic links from foo.md
  24. to all files in sun3.md.
  25.  
  26.     Create a foo.md directory in /sprite/src/kernel/Include. Make symbolic 
  27. links to all the files in sun3.md. Make a symbolic link from foo.md/user
  28. to /sprite/lib/include/foo.md.
  29.  
  30.     Create a foo.md subdirectory in each module of the kernel. Create a
  31. symbolic link to each source file in sun3.md to foo.md.  This includes 
  32. program sources as well as things like "md.mk.sed".  Find all references
  33. to TM=sun3 in local.mk files and add TM=foo as well.  for example, 
  34. "!empty(TM:Msun3)".
  35.  
  36.     Run "mkmf" or "mkmf -m foo" in each module.
  37.